package com.fa4j.code.mate.model;

import com.fa4j.common.base.model.ModifyCmd;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.Size;
import lombok.Data;

@Data
@Schema(description = "代码元数据项目编辑参数")
public class CodeMateProjectModifyCmd extends ModifyCmd<Integer> {


    @Size(max = 64)
    @Schema(description = "项目名")
    private String projectName;


    @Size(max = 64)
    @Pattern(regexp = CodeMateConstants.PATTERN_MODULE_NAME, message = "模块名称格式错误")
    @Schema(description = "项目名")
    private String moduleName;


    @Positive
    @Schema(description = "项目模块编码")
    private Integer moduleCode;


    @Size(max = 128)
    @Schema(description = "备注")
    private String remark;

    @Size(max = 128)
    @Pattern(regexp = CodeMateConstants.PATTERN_PACKAGE_NAME, message = "项目包名格式错误")
    @Schema(description = "项目包名")
    private String basePackage;

}
